package org.hcyspartnoc.demo.service.system;

import com.baomidou.mybatisplus.extension.service.IService;
import org.hcyspartnoc.demo.common.core.PageBean;
import org.hcyspartnoc.demo.common.exception.system.SysRoleException;
import org.hcyspartnoc.demo.pojo.dto.system.SysRoleAddDto;
import org.hcyspartnoc.demo.pojo.dto.system.SysRoleModifyDto;
import org.hcyspartnoc.demo.pojo.dto.system.SysRoleQueryPageDto;
import org.hcyspartnoc.demo.pojo.dto.system.SysRoleUpdateDto;
import org.hcyspartnoc.demo.pojo.po.system.SysRolePo;
import org.hcyspartnoc.demo.pojo.vo.system.SysRoleVo;

public interface ISysRoleService extends IService<SysRolePo> {
    SysRoleVo addRole(SysRoleAddDto sysRoleAddDto) throws SysRoleException;

    SysRoleVo modifyRole(SysRoleModifyDto sysRoleModifyDto) throws SysRoleException;

    void removeRole(Integer roleId) throws SysRoleException;

    PageBean<SysRolePo, SysRoleVo> queryByPage(SysRoleQueryPageDto sysRoleQueryPageDto);

    void modifyStatus(Integer roleId) throws SysRoleException;


    SysRoleVo addRolebyper(SysRoleAddDto sysRoleAddDto);


    void sysRoleUpdate(SysRoleUpdateDto sysRoleUpdate);

    void removerolebyid(Integer role);
}
